
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel=stylesheet href='include/hoj.css' type='text/css'>
</head>
<body>
<center>
<div style="width:90%; text-align:left">
<img src="image/logo.png"/>
</div>
<table width=96%> 
	<tr align="center" class='hd' valign="top">
				<th><a href="faqs.php">F.A.Qs</a></th>
		<th><a href="./bbs.php">Web Board</a></th>
		<th><a href="./">Home</a></th>
		<th><a href="./problemset.html">ProblemSet</a></th>
		<th><a href="./status.php">Status</a></th>
		<th><a href="./ranklist.php">Ranklist</a></th>
		<th><a href="./contest.php">Contest</a></th>
		<th><a href=loginpage.php>Login</a></th><th><a href=registerpage.php>Register</a></th>	</tr>
</table>
</center>
<center>
<div class="notice">
	<div>
		<B>Notice:</B>鉴于种种原因，本OJ自下周星期一（3月5号）开始不再全面开放，请各位做好善后事宜，谢谢合作。	</div>
</div>
</center>
</div>
<title>Problem 1277. -- [HNOI2002]Tinux系统 -- 衡阳八中OJ离线版-2012-02-29</title><center><h2>1277: [HNOI2002]Tinux系统</h2><span class=green>Time Limit: </span>20 Sec&nbsp;&nbsp;<span class=green>Memory Limit: </span>162 MB<br><span class=green>Submit: </span>18&nbsp;&nbsp;<span class=green>Solved: </span>15<br>[<a href='submitpage.php?id=1277'>Submit</a>][<a href='problemstatus.php?id=1277'>Status</a>][<a href='bbs.php?id=1277'>Discuss</a>]</center><h2>Description</h2><div class=content>在dos系统诞生以前，美国曾研究出一种类似的操作系统，名为Tinux系统。但由于硬件设施的制约，Tinux系统有许多的缺点。下面就对Tinux系统作一个简单的介绍：
Tinux系统是Tiger博士为美国军方研制开发的一种操作系统，该系统对文件的存储方式类似于dos系统，像一棵树一样，每一个叶子节点表示一个文件，每一个非叶子节点表示一个目录。其中定义i级子目录表示从根目录开始访问，一直访问到该子目录（不包括该子目录）需要访问的目录的个数为i的目录，所以根目录下的目录为一级子目录，其他的目录以此类推。但是在同一子目录下，受到硬件的制约Tinux系统最多只能够存储k个文件或子目录，也就是说这棵树里面的每一个非叶子节点最多只有k个子节点。这样就导致在文件数量较多的情况下，访问存储在该系统当中的文件A，往往要先访问一系列的子目录，我们称这些子目录为文件A的上级目录。例如下面这一个例子：
Root
&#61548;	A1
&#61548;	A2
&#61548;	A3
&#61548;	A4
&#61548;	A4A1
&#61548;	A4A2
&#61548;	A4A2A1
&#61548;	A4A2A2
&#61548;	A4A3
当我们要访问文件A4A2A1时就必须先访问它的上级目录：一级子目录A4和二级子目录A4A2。
Tinux系统在存储文件时，给每一个子目录都分配了k个指针，分别指向存放在该目录下的每一个文件和每一个目录，因此对文件的访问实质上就是对指针的访问。但是由于硬件原因，这k个指针不尽相同，因此访问它们的时间也不同，访问第i个指针所耗费的时间为 。但是对于两个不同的子目录（不管它们各自属于哪一级目录）而言它们各自所拥有的k个指针是相同的。
Tinux系统最大的缺点是访问一个目录时，必须把该目录下所有的文件读入到内存当中来，这些文件包括在其各级子目录当中的文件，例如上面那一个例子，访问A4那一个目录，就必须把A4A1，A4A2A1，A4A2A2，A4A3这四个文件都读入到内存当中来，访问一个目录所需要的时间为 （x表示该目录及其各级子目录下文件的个数， 表示指向该目录的指针的访问时间）。因此根据上面介绍的访问方法，单独访问一个文件所需要的总时间为访问其所有上级目录（不包括根目录）所需要的时间与访问指向该文件的指针所需要的时间的和，例如上面那一个例子，访问文件A4A2A1需要的时间=访问目录A4的时间+访问目录A4A2的时间+访问指向文件A4A2A1的指针需要的时间。
现在，tiger博士准备将n个文件存储到一个空的Tinux系统当中，希望你帮助他设计一个程序找到一种最优的存储方法，使得单独访问这n个文件所需要的时间总和最小。
</div><h2>Input</h2><div class=content>文件的第一行为两个正整数N,K(N在[1,1000],K在[2,150])接下来的k行每行有一个正整数Pi,Pi<=150 。
于 ）
</div><h2>Output</h2><div class=content>仅有一个正整数，表示在最优存储方案下，单独访问这n个文件所需要的时间总和。（结果小于2^31</div><h2>Sample Input</h2>
			<div class=content><span class=sampledata>4 3<br />
3<br />
5<br />
4<br />
</span></div><h2>Sample Output</h2>
			<div class=content><span class=sampledata>28</span></div><h2>HINT</h2>
			<div class=content><p></p></div><h2>Source</h2>
			<div class=content><p><a href='problemset.html?search='></a></p></div><center>[<a href='submitpage.php?id=1277'>Submit</a>][<a href='problemstatus.php?id=1277'>Status</a>][<a href='bbs.php?id=1277'>Discuss</a>]</center>﻿<br>

<a href="./"><span class=red>HOME</span></a>
<a href="javascript:history.go(-1)"><span class=red>Back</span></a>

<hr>
<center>
	<div class="footer">
			<a href=setlang.php?lang=ko>한국어</a>&nbsp;
		<a href=setlang.php?lang=cn>中文</a>&nbsp;
		<a href=setlang.php?lang=fa>فارسی</a>&nbsp;
		<a href=setlang.php?lang=en>English</a>&nbsp;
		<a href=setlang.php?lang=th>ไทย</a>
	<br>		<div>版权所有 &copy;2008-2012 WaterPark Organization. | <script src="http://s21.cnzz.com/stat.php?id=2982771&web_id=2982771" language="JavaScript"></script>
</div>
		<div>Based on opensource project <a href="http://hustoj.googlecode.com">hustoj</a>.</div>
	</div>
</center>
</body>
</html>
